package com.gzx.spring.db.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fhs.core.trans.vo.TransPojo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * 
 */
@Getter
@Setter
@TableName("product_order")
public class PhoneProductOrder implements Serializable, TransPojo {

	private static final long serialVersionUID = 1L;

	/** 主键 */
	@TableId
	@Schema(description = "主键")
	private Long id;

	@Schema(description = "机构ID")
	@TableField
	private Long orgId;

	@Schema(description = "用户id")
	private Long uid;

	@Schema(description = "商铺id")
	@TableField(fill = FieldFill.INSERT)
	private Long sid;

	@Schema(description = "创建时间")
	private Long createtime;

	@Schema(description = "租机月数")
	@TableField("leaseTerm")
	private Integer leaseTerm;

	@Schema(description = "租完归返-租机月数")
	@TableField("rentMonth")
	private Integer rentMonth;

	@Schema(description = "租机开始时间")
	private Integer starttime;

	@Schema(description = "租机结束时间")
	private Integer endtime;

	@Schema(description = "押金支付回调详细参数")
	@TableField("paymentParams")
	private String paymentParams;

	@Schema(description = "商品订单编号，年月日编号")
	private String ordercode;

	@Schema(description = "用户的优惠券id -1为未使用")
	private Integer couponid;
	/**
	 * "1、待付款<br>
	 * 2、待风控<br>
	 * 3、待发货<br>
	 * 4、待收货<br>
	 * 5、待归还<br>
	 * 6、归还中<br>
	 * 7、交易完成<br>
	 * 8、买断订单<br>
	 * 9、订单关闭（用户）<br>
	 * 10、订单关闭（超时系统关闭）<br>
	 * 11、订单关闭（商家）<br>
	 * 12、订单关闭（全部，用于查询所有关闭订单）<br>
	 * 13、即将到期----》逾期<br>
	 * 14、申请关闭--->申请取消"
     * 99、待征信（风控二）
	 */
	@Schema(description = "")
	private Integer status;

	@Schema(description = "进行物理操作状态时的状态")
	@TableField("beforeStatus")
	private Integer beforeStatus;

	@Schema(description = "芝麻信用0、未通过 xxx芝麻信用分")
	private Integer zm;

	@Schema(description = "支付平台 1、微信 2、支付宝 3、网银")
	private Integer platform;

	@Schema(description = "省")
	private String province;

	@Schema(description = "市")
	private String city;

	@Schema(description = "区县")
	private String district;

	@Schema(description = "街道")
	private String street;

	@Schema(description = "联系人")
	private String tit;

	@Schema(description = "联系电话")
	private String phone;

	@Schema(description = "详细地址")
	private String address;

	@Schema(description = "发票")
	private String invoice;

	@Schema(description = "用户留言备注")
	private String cont;

	@Schema(description = "邮箱地址")
	private String email;

	@Schema(description = "商品购买的商品参数信息")
	private String params;

	@Schema(description = "续租状态-1续租")
	@TableField("isRenewal")
	private Integer isRenewal;

	@Schema(description = "买断状态：1、已买断")
	@TableField("isBuyout")
	private Integer isBuyout;

	/**
	 * 蚂蚁链签约状态，是否签约<br>
	 * 0否<br>
	 * 1签约<br>
	 * 2解约<br>
	 * 3、拒绝合同代扣通知<br>
	 */
	@Schema(description = "")
	@TableField("isAgreement")
	private Integer isAgreement;

	@Schema(description = "用户签署的支付宝代扣协议号")
	@TableField("agreementNo")
	private String agreementNo;

	/**
	 * 入流状态<br>
	 * 1、平台<br>
	 * 2、二维码进来<br>
	 * 3、x <br>
	 */
	@Schema(description = "")
	@TableField("flowState")
	private Integer flowState;

	@Schema(description = "是否为补的订单0否，1是")
	private Integer replenish;

	@Schema(description = "0隐藏，1正常")
	private Integer hidden;

	@Schema(description = "提现比例")
	private BigDecimal ratio;

	@Schema(description = "归还地址")
	@TableField("returnAddress")
	private String returnAddress;

	@Schema(description = "0未人脸识别，1人脸识别通过")
	private Integer human;

	@Schema(description = "0未备货，1已备货")
	private Integer stock;

	@Schema(description = "0未申请取消，1、已申请取消")
	private Integer cancel;

	@Schema(description = "0无建议，1推荐拒绝发货")
	private Integer recommend;

	@Schema(description = "用户当前所在省市区")
	@TableField("currentAddress")
	private String currentAddress;

	@Schema(description = "签署流程创建记录值")
	@TableField("contractSignflow")
	private String contractSignflow;

	@Schema(description = "短租代扣流程信息")
	@TableField("aliSignflow")
	private String aliSignflow;

	@TableField("signFlowFinish")
	private Integer signFlowFinish;

	@Schema(description = "紧急联系人姓名")
	@TableField("linkPersonName")
	private String linkPersonName;

	@Schema(description = "紧急联系人关系")
	@TableField("linkPersonRelations")
	private String linkPersonRelations;

	@Schema(description = "紧急联系人手机号")
	@TableField("linkPersonMobile")
	private String linkPersonMobile;

	@Schema(description = "当前审批人")
	@TableField("currentSpUser")
	private String currentSpUser;

	@Schema(description = "分销关系表ID")
	@TableField("personRelationId")
	private Integer personRelationId;

	@Schema(description = "取消信用免押")
	@TableField("cashMoney")
	private Integer cashMoney;

	@Schema(description = "用户领取的优惠券ID")
	@TableField("couponUserId")
	private Integer couponUserId;

	@Schema(description = "订单数")
	private Integer num;

	@Schema(description = "分销父级ID")
	@TableField(exist = false)
	private String puid;
}
